package com.drcurd.mapper;

import com.drcurd.entity.Department;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface DepartmentMapper {
    
    // 查询所有部门
    List<Department> selectAll();
    
    // 根据ID查询部门
    Department selectById(@Param("id") Long id);
    
    // 新增部门
    int insert(Department department);
    
    // 更新部门
    int update(Department department);
    
    // 删除部门
    int deleteById(@Param("id") Long id);
    
    // 分页查询
    List<Department> selectByPage(@Param("offset") Integer offset, @Param("size") Integer size);
    
    // 查询总数
    int selectCount();
    
    /**
     * 根据条件查询部门
     */
    List<Department> selectByCondition(com.drcurd.dto.DepartmentQueryDTO queryDTO);
    
    /**
     * 根据条件查询部门数量
     */
    int selectCountByCondition(com.drcurd.dto.DepartmentQueryDTO queryDTO);
} 